#if !defined(AFX_COMPUTERPLAYER_H__864AF94B_6101_45DA_BB45_AB7A05E1F413__INCLUDED_)
#define AFX_COMPUTERPLAYER_H__864AF94B_6101_45DA_BB45_AB7A05E1F413__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// ComputerPlayer.h : header file
//

class CFiveDoc;
class CFiveView;
class CMainFrame;
class CChessAI;
class CSimpleAI;
/////////////////////////////////////////////////////////////////////////////
// CComputerPlayer thread

class CComputerPlayer : public CWinThread
{
	DECLARE_DYNCREATE(CComputerPlayer)
protected:
	CComputerPlayer();           // protected constructor used by dynamic creation

// Attributes
public:

// Operations
public:
	
	CFiveView * GetView();
	CChessBoard & GetChessBoard();
	CFiveDoc * GetDocument();
	void PutChess(WPARAM wp,LPARAM lp);
	void GameOver(WPARAM wp,LPARAM lp);

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CComputerPlayer)
	public:
	virtual BOOL InitInstance();
	virtual int ExitInstance();
	virtual BOOL OnIdle(LONG lCount);
	//}}AFX_VIRTUAL

// Implementation
protected:
	virtual ~CComputerPlayer();

	// Generated message map functions
	//{{AFX_MSG(CComputerPlayer)
		// NOTE - the ClassWizard will add and remove member functions here.
	//}}AFX_MSG

	DECLARE_MESSAGE_MAP()
private:
	CCBData * m_pData;
public:
	CSimpleAI * m_pAI;
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_COMPUTERPLAYER_H__864AF94B_6101_45DA_BB45_AB7A05E1F413__INCLUDED_)
